package com.ruoyi.back.service

import com.baomidou.mybatisplus.extension.service.IService
import com.ruoyi.app.common.Data
import com.ruoyi.app.common.PageData
import com.ruoyi.back.domain.SystemNotice
import com.ruoyi.back.domain.dto.SystemNoticeSearchDto
import com.ruoyi.back.domain.vo.SystemNoticeDetailVo
import com.ruoyi.back.domain.vo.SystemNoticeListVo

interface SystemNoticeService : IService<SystemNotice> {

    /**
     * 保存系统通知
     */
    fun saveSystemNotice(systemNotice: SystemNotice) : Data<Boolean>

    /**
     * 系统通知分页
     */
    fun systemNoticePage(systemNoticeSearchDto: SystemNoticeSearchDto): PageData<SystemNoticeListVo>

    /**
     * 系统通知详情
     */
    fun systemNoticeDetail(id: Long): Data<SystemNoticeDetailVo>

    /**
     * 发送系统通知
     */
    fun systemNoticeSend(systemNotice: SystemNotice): Data<Boolean>

    /**
     * 批量移除系统通知
     */
    fun removeSystemNoticeSend(ids: String): Data<Boolean>

}